home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Developer Toolbox 6.1
/
SGI Developer Toolbox 6.1 - Disc 4.iso
/
src
/
demos
/
GL
/
libdemo
/
vect.h
< prev
Wrap
C/C++ Source or Header
|
1994-08-01
|
2KB
|
63 lines
/*
* Copyright 1991, 1992, 1993, 1994, Silicon Graphics, Inc.
* All Rights Reserved.
*
* This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
* the contents of this file may not be disclosed to third parties, copied or
* duplicated in any form, in whole or in part, without the prior written
* permission of Silicon Graphics, Inc.
*
* RESTRICTED RIGHTS LEGEND:
* Use, duplication or disclosure by the Government is subject to restrictions
* as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
* and Computer Software clause at DFARS 252.227-7013, and/or in similar or
* successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
* rights reserved under the Copyright Laws of the United States.
*/
/*
* vect:
* Functions to support operations on vectors and matrices.
*
* Original code from:
* David M. Ciemiewicz, Mark Grossman, Henry Moreton, and Paul Haeberli
*
* Much mucking with by:
* Gavin Bell
*/
#ifndef VECTDEF
#define VECTDEF
#include <math.h>
#include <gl/gl.h>
float *vnew();
float *vclone(const float *);
void vcopy(const float *, float *);
void vprint(const float *);
void vset(float *, float, float, float);
void vzero(float *);
void vnormal(float *);
float vlength(const float *);
void vscale(float *, float);
void vmult(const float *, const float *, float *);
void vadd(const float *, const float *, float *);
void vsub(const float *, const float *, float *);
void vhalf(const float *, const float *, float *);
float vdot(const float *, const float *);
void vcross(const float *, const float *, float *);
void vdirection(const float *, float *);
void vreflect(const float *, const float *, float *);
void vmultmatrix(const Matrix, const Matrix, Matrix);
void vtransform(const float *, const Matrix, float *);
void vtransform4(const float *, const Matrix, float *);
extern Matrix idmatrix;
void mcopy(const Matrix, Matrix);
void minvert(const Matrix, Matrix);
void vgetmatrix(Matrix m);
void linsolve(const float *[], int, float *);
#endif /* VECTDEF */